home *** CD-ROM | disk | FTP | other *** search
/ 10,000 Great Games / 10,000 Great Games.iso / Product / 66 / data1.cab / Source_Files / Src / Function.h < prev    next >
C/C++ Source or Header  |  2000-01-16  |  5KB  |  147 lines

  1. // General
  2.  
  3. void read_profile();
  4. void write_profile();
  5.  
  6. // Error and debugging related
  7.  
  8. void error(char *msg, ...);
  9. void info(char *msg, ...);
  10. void warning(char *msg, ...);
  11. void write_debug_info();
  12.  
  13. #ifdef _DEBUG
  14. #define new DEBUG_NEW
  15. #endif
  16.  
  17. // Graphics related
  18.  
  19. void init_directdraw_inawin();
  20. void init_directdraw_notinawin();
  21. void init_directdraw_clipper();
  22. void deinit_directdraw();
  23. void init_fonts();
  24. void deinit_fonts();
  25. void write_frame();
  26. int match_color(COLORREF rgb);
  27. LPDIRECTDRAWSURFACE4 create_surface(int w, int h, DWORD caps, DWORD flags);
  28. int draw_ok(HRESULT result);
  29. void clear(LPDIRECTDRAWSURFACE4 buf, int color = 0);
  30. void rotated_blit(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale);
  31. void rotated_blit16(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale);
  32. void rotated_blit24(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale);
  33. void rotated_blit32(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale);
  34. void rotated_colormapped_blit(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale, char *colormap);
  35. void colormapped_blit(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, RECT *srcrect, char *colormap);
  36. void gravity_blit(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, int x, int y, short *gravity_map);
  37. void create_colormaps();
  38. void create_gravity();
  39. void make_screenshot();
  40.  
  41. // Input related
  42.  
  43. void init_directinput();
  44. void deinit_directinput();
  45. LPDIRECTINPUTDEVICE2 create_input_device(GUID guid);
  46. LPDIRECTINPUTDEVICE2 create_input_device_mouse();
  47. LPDIRECTINPUTDEVICE2 create_input_device_keyboard();
  48. LPDIRECTINPUTDEVICE2 create_input_device_joystick(GUID *guid);
  49. void init_keyboard();
  50. void readout_keyboard();
  51. void deinit_keyboard();
  52. void init_joystick();
  53. void deinit_joystick();
  54. void init_mouse();
  55. void acquire_mouse();
  56. void deinit_mouse();
  57.  
  58. // Sound related
  59.  
  60. void init_directsound();
  61. void init_directsound_primarybuffer();
  62. void deinit_directsound();
  63. void init_music();
  64. void deinit_music();
  65. void play_music(char *name, int loop = FALSE);
  66. void replay_music();
  67. void stop_music();
  68. void play_sound(class cWAV *snd, int volume = DSBVOLUME_MAX);
  69.  
  70. // File related
  71.  
  72. char *construct(const char *name, ...);
  73. int file_size(const char *fn);
  74. char *read_file(const char *fn, int *length = 0);
  75. char *read_part_file(const char *fn, int start, int length);
  76. void write_file(const char *fn, const char *data, int length);
  77. void search_files(const char *dir, const char *mask, void (*callback)(const char *fn, const char *name));
  78. int file_exists(const char *fn);
  79.  
  80. // Gameloop related
  81.  
  82. void deinit_game();
  83. void init_game_data();
  84. void deinit_game_data();
  85. void init_game_loop();
  86. void deinit_game_loop();
  87. void game_loop();
  88.  
  89. // Level related
  90.  
  91. void load_level(CFile *f, int paste = FALSE);
  92. void load_level(char *name, int paste = FALSE);
  93. void save_level(CFile *f, int copy = FALSE);
  94. void save_level(char *name, int copy = FALSE);
  95. void save_level_string(char *label, char *value);
  96. void save_level_int(char *label, int value);
  97. void save_level_fix(char *label, fix value);
  98. void save_level_spot(char *label, class cSpot *spot);
  99. void make_level();
  100. void kill_level();
  101. void update_onscreen_list();
  102. void control_level();
  103. void ambient_sounds();
  104. void write_gravity();
  105.  
  106. // Scrolling
  107.  
  108. void reset_scrolling();
  109. void set_scroll_position(fix fstart);
  110. void do_scrolling();
  111.  
  112. // Editor
  113.  
  114. void draw_grid();
  115. int load_y_offset(class cSurface *surface);
  116.  
  117. // Graphic primitives
  118.  
  119. void lock_surface_for_primitives(cSurface *surface);
  120. void unlock_surface_for_primitives();
  121. void pixel(cSurface *surface, int x, int y, int color);
  122. void hline(cSurface *surface, int x1, int y1, int x2, int color);
  123. void vline(cSurface *surface, int x1, int y1, int y2, int color);
  124. void rect(cSurface *surface, int x1, int y1, int x2, int y2, int color);
  125. void rectfill(cSurface *surface, int x1, int y1, int x2, int y2, int color);
  126. void line(cSurface *surface, int x1, int y1, int x2, int y2, int color);
  127. void dashedline(cSurface *surface, int x1, int y1, int x2, int y2, int color);
  128. void circle(cSurface *surface, int x, int y, int r, int color);
  129.  
  130. // Math related
  131.  
  132. #define square(x)            ((x)*(x))
  133. #define d_square(x, y)        (square(x) + square(y))
  134. #define in_range(x, y, r)   (d_square(x, y) <= (r)*(r))
  135. #define angle(dx, dy)        (atan2((fix)(dy), (fix)(dx)))
  136. #define in(x, l, h)            ((x >= l) && (x <= h)) 
  137.  
  138. // String related
  139.  
  140. #define    eq(x, y)            (stricmp(x, y) == 0)
  141.  
  142. // Push related
  143.  
  144. #define vpush_tx(dt, dx)    ((fix)2 * dx / dt)
  145. #define apush_tx(dt, dx)    ((fix)-2 * dx / square(dt))
  146.  
  147.